Skip to content

Conversation

erikhfj
Copy link
Member

@erikhfj erikhfj commented Sep 2, 2026

Summary

Initial project scaffold for Project 1:

  • Vite + React + TypeScript
  • TanStack Query provider
  • ESLint, Prettier, Vitest, React Testing Library, and npm scripts
  • Initial GitHub Actions workflow
  • Contributor guidance, README, and roadmap

Follow-up work

This PR intentionally provides the baseline only. The remaining setup work is tracked separately:

The CI decision remains tracked in #2. Self-hosted runner setup is tracked in #6 while the group checks available server access.

Validation

  • npm run format:check
  • npm run lint
  • npm test
  • npm run build

Checklist

  • Baseline scaffold is in place
  • Follow-up setup issues are completed
  • CI approach is decided

@erikhfj erikhfj requested a review from a team as a code owner September 2, 2026 19:49
@erikhfj erikhfj added this to the M1 — Setup milestone Sep 2, 2026
@erikhfj erikhfj added type: chore Tooling, setup, maintenance ai-assisted Substantial AI-generated code (documented per spec) status: in-review PR is open and awaiting review priority: high Required for first delivery labels Sep 2, 2026
@robertky robertky force-pushed the chore/1-project-template branch from f2769fa to f2c7439 Compare September 3, 2026 16:11
Set up the starting template for the group:
- Vite + React + TypeScript, TanStack Query wired in main.tsx
- ESLint 9 flat config (typescript-eslint, react-hooks, react-refresh,
  jsx-a11y, eslint-config-prettier) and Prettier
- Vitest + React Testing Library + jsdom with placeholder App tests
- GitHub Actions CI: format, lint, test, build on every PR
- AGENTS.md with contributor and AI-agent conventions
- README with project, scripts, workflow, and label documentation
GitHub Projects is disabled on git.ntnu.no, so the roadmap lives in the
repo: milestone due dates, current status, workflow, and delivery
checklist. Linked from README.
@robertky robertky force-pushed the chore/1-project-template branch from f2c7439 to 3d39e85 Compare September 3, 2026 19:23
@robertky robertky removed the ai-assisted Substantial AI-generated code (documented per spec) label Sep 3, 2026
erikhfj and others added 7 commits September 3, 2026 13:56
The NTNU GHES instance has no shared runners, so CI runs on a
self-hosted runner on the group VM (#6): runs-on [self-hosted, linux,
x64], setup guide in docs/ci-runner.md.
- vite base '/project1' so the build serves from the course-required path
- docs/deployment.md: Apache setup, deploy flows, pitfalls, final URL
- docs/ci-runner.md: VM hostname and network/VPN note
- ROADMAP links the deployment guide
Pipeline: format/lint/test/build on every PR; pushes to main additionally
rsync the built dist/ to /var/www/html/project1 on the group VM runner
(sudoers entry grants NOPASSWD rsync to the runner user, see
docs/ci-runner.md).
Copy link
Member

@rachelks rachelks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good from my side, format/lint/test/build all pass locally! I only noticed two small things in the README:

  • The conventional commit example uses #11 for a favorites feature, but #11 is now the BookCard issue. Maybe use a generic example or the correct issue number?
  • The README says that all OpenLibrary API requests are mocked with MSW, but as far as I can tell, MSW is currently installed but the handlers/server setup is not part of this PR yet. Maybe phrase this as planned behavior until the API test setup is in place?

- generic issue number in the conventional commit example (#42), #11 is
  now the BookCard issue
- describe msw mocking as planned until handlers land (#12, M4), msw is
  only installed at this point
@erikhfj
Copy link
Member Author

erikhfj commented Sep 5, 2026

Thanks for the review, Rachel! Both points fixed in 538bc64:

  1. Commit example now uses a generic #42 placeholder — you're right that feat: BookCard component (cover, title, authors, year, subjects) #11 is BookCard now.
  2. Testing section now states msw is installed but the mock handlers land with the data-layer tests (feat: useBooks hook with TanStack Query and App integration #12) and the full suite in M4 — accurate for this PR.

Re-requesting your review since the push (approval is dismissed on new commits per repo rules). The two remaining external blockers are unchanged: repo admin for the runner (Trond's grant hasn't propagated yet — team still shows write) and this PR's merge, after which #4's PR and M2 (#11#14) start.

@erikhfj erikhfj requested a review from rachelks September 5, 2026 19:57
Copy link
Member

@rachelks rachelks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing both points! The changes look good to me.

@erikhfj erikhfj merged commit 3a503f7 into main Sep 5, 2026
1 check failed
@erikhfj erikhfj deleted the chore/1-project-template branch September 5, 2026 20:09
erikhfj added a commit that referenced this pull request Sep 5, 2026
Sign in to join this conversation on GitHub.
Labels
priority: high Required for first delivery status: in-review PR is open and awaiting review type: chore Tooling, setup, maintenance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants